package w83a.w83aBeans;

import java.io.InputStream;
import java.sql.Blob;
import java.sql.ResultSet;

import w83a.util.jdbc.W83aDataBase;
import w83a.w83aDAO.w83aConstantesBD.W83aBaseBeanBD;
import w83a.w83aDAO.w83aConstantesBD.W83aDocumentacionBD;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bDocBean.
 * @author a
 */
public class W83aDocumentoBean extends W83aBaseBean implements W83aBaseBeanBD{

	/** The id. */
	public String id="";
	/** The clave. */
	public String clave="";
	/** The nombre. */
	private String nombre="";
	
	/** The tipo documento. */
	private String tipoDocumento="";

	
	/** The fecha registro. */
	private String fechaRegistro="";
	
	/** The numero registro. */
	private String numeroRegistro="";
	
	/** The file data. */
	private InputStream fileData;
	
	/** The file data blob. */
	private Blob fileDataBlob;
	
	private StringBuffer documento;
	
	/** The desc tipo. */
	private String descTipo;
	
	/** The tamanyo. */
	private int tamanyo;
	
	
	private W83aUsuarioXLNetsBean usuario;
	
	/** The dese tipo. */
	//private String deseTipo;
	
	public StringBuffer getDocumento() {
		return documento;
	}

	public void setDocumento(StringBuffer documento) {
		this.documento = documento;
	}

	/**
	 * Gets the file data.
	 * 
	 * @return the file data
	 */
	public InputStream getFileData()
	{
		return this.fileData;
	}
	
	/**
	 * Sets the file data.
	 * 
	 * @param fileData the new file data
	 */
	public void setFileData (InputStream fileData)
	{
		this.fileData=fileData;
	}
	
	/**
	 * Gets the nombre.
	 * 
	 * @return the nombre
	 */
	public String getNombre() {
		return this.nombre;
	}
	
	/**
	 * Gets the nombre.
	 * 
	 * @return the nombre
	 */
	public String getNombrePartido() {
		StringBuffer nombrePartido = new StringBuffer();
		
		if(null!=this.nombre && this.nombre.length()>20){
			nombrePartido = new StringBuffer();
			String nombreTemp = this.nombre;
			while(nombreTemp.length()>0){
				int tamanyo = nombreTemp.length();
				if(tamanyo>20){
					tamanyo=20;
				}
				nombrePartido.append(nombreTemp.substring(0, tamanyo)).append(" ");
				nombreTemp = nombreTemp.substring(tamanyo);
			}
		}else{
			nombrePartido = new StringBuffer(this.nombre);
		}
		
		return nombrePartido.toString();
	}
	
	/**
	 * Sets the nombre.
	 * 
	 * @param nombre the new nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	/**
	 * Gets the tipo documento.
	 * 
	 * @return the tipo documento
	 */
	public String getTipoDocumento() {
		return this.tipoDocumento;
	}
	
	/**
	 * Sets the tipo documento.
	 * 
	 * @param tipoDocumento the new tipo documento
	 */
	public void setTipoDocumento(String tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}
	
	/**
	 * Gets the fecha registro.
	 * 
	 * @return the fecha registro
	 */
	public String getFechaRegistro() {
		return this.fechaRegistro;
	}
	
	/**
	 * Sets the fecha registro.
	 * 
	 * @param fechaRegistro the new fecha registro
	 */
	public void setFechaRegistro(String fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}
	
	/**
	 * Gets the numero registro.
	 * 
	 * @return the numero registro
	 */
	public String getNumeroRegistro() {
		return this.numeroRegistro;
	}
	
	/**
	 * Sets the numero registro.
	 * 
	 * @param numeroRegistro the new numero registro
	 */
	public void setNumeroRegistro(String numeroRegistro) {
		this.numeroRegistro = numeroRegistro;
	}
	
	/**
	 * Sets the tamanyo.
	 * 
	 * @param tamanyo the new tamanyo
	 */
	public void setTamanyo (int tamanyo)
	{
		this.tamanyo=tamanyo;
	}
	
	/**
	 * Gets the tamanyo.
	 * 
	 * @return the tamanyo
	 */
	public int getTamanyo ()
	{
		return this.tamanyo;
	}
	
	
	
	public W83aUsuarioXLNetsBean getUsuario() {
		return usuario;
	}

	public void setUsuario(W83aUsuarioXLNetsBean usuario) {
		this.usuario = usuario;
	}

	/**
	 * Row to bean.
	 * 
	 * @param o the o
	 * @param otrosValores the otros valores
	 * @return the object
	 * @throws Exception the exception
	 */
	public Object rowToBean(Object o, Object otrosValores) throws Exception {
		ResultSet rs = (ResultSet)o;//NOPMD
		this.id=W83aDataBase.getStringFromRS(rs, W83aDocumentacionBD.documentos);
		String valores=W83aDataBase.getStringFromRS(rs, W83aDocumentacionBD.documentos);
		String[] documentos=valores.split("#");
		String doc="";
		String[] campos=new String[0];
		for(int i=0;i<documentos.length;i++){
			doc=documentos[i];
			campos=doc.split(",");
			this.nombre=campos[0];
			this.descTipo=campos[1];
			//this.deseTipo=campos[2];
			this.fechaRegistro=campos[3];
			this.numeroRegistro=campos[4];
			//this.clave=campos[5]+"_"+campos[6];
		}
		return this;
	}

	/**
	 * Gets the id.
	 * 
	 * @return the id
	 */
	public String getId() {
		return this.id;
	}

	/**
	 * Sets the id.
	 * 
	 * @param id the new id
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * Gets the file data blob.
	 * 
	 * @return the file data blob
	 */
	public Blob getFileDataBlob() {
		return this.fileDataBlob;
	}

	/**
	 * Sets the file data blob.
	 * 
	 * @param fileDataBlob the new file data blob
	 */
	public void setFileDataBlob(Blob fileDataBlob) {
		this.fileDataBlob = fileDataBlob;
	}

	/**
	 * Gets the desc tipo.
	 * 
	 * @return the desc tipo
	 */
	public String getDescTipo() {
		return this.descTipo;
	}

	/**
	 * Sets the desc tipo.
	 * 
	 * @param descTipo the new desc tipo
	 */
	public void setDescTipo(String descTipo) {
		this.descTipo = descTipo;
	}

	public String getClave() {
		return clave;
	}

	public void setClave(String clave) {
		this.clave = clave;
	}

	


	

}
